01. Intro to Unscented Kalman Filter Project
Project Introduction
Now it is time to implement an unscented Kalman filter using the CTRV motion model. You will be using the same bicycle simulation data set from the extended Kalman filter project. That way you can compare your results with the EKF project.
Remember that all Kalman filters have the same three steps:
- Initialization
- Prediction
- Update
A standard Kalman filter can only handle linear equations. Both the extended Kalman filter and the unscented Kalman filter allow you to use non-linear equations; the difference between EKF and UKF is how they handle non-linear equations. But the basics are the same: initialize, predict, update.
Rubric
Take a look at the rubric before you get started.
Project Resources
We have provided a project repository with starter code.
(Note: If you use the provided Udacity workspace, the repository & simulator will be included, and any necessary dependencies will already be installed).
The repository contains:
- starter code in the
srcfolder - a README file with instructions on compiling the code
CMakeLists.txtfile that will be used when compiling your code (you do not need to change this file)
Using GitHub and Creating Effective READMEs
If you are unfamiliar with GitHub , Udacity has a brief GitHub tutorial to get you started. Udacity also provides a more detailed free course on git and GitHub.
To learn about REAMDE files and Markdown, Udacity provides a free course on READMEs, as well.
GitHub also provides a tutorial about creating Markdown files.
Dependencies
Keep in mind that the minimum project dependency versions are:
- cmake: 3.5
- All OSes: click here for installation instructions
- make: 4.1 (Linux and Mac), 3.81 (Windows)
- Linux: make is installed by default on most Linux distros
- Mac: install Xcode command line tools to get make
- Windows: Click here for installation instructions
- gcc/g++: 5.4
- Linux: gcc / g++ is installed by default on most Linux distros
- Mac: same deal as make - install Xcode command line tools
- Windows: recommend using MinGW
Optional Resources
To complete the project, you only need the files in the github repo; however, we are also providing some extra resources that you can use to develop your solution:
- A Sensor Fusion utilities repo containing Matlab scripts that will generate more sample data (generating your own sample data is completely optional)
- A visualization package that you can also find within the Sensor Fusion utilities repo
- a 2-dimensional Unity simulator for visualizing your results. See the "2-D Unity Simulator" lecture slides for more information.
Reporting Issues
If you find any issues or bugs with the materials in this project, or you have suggestions for improvement, we would appreciate it if you would take the time to post them here.